package com.ibangnuo.api.order;

import com.ibangnuo.framework.domain.request.count.MoneyCountRequest;
import com.ibangnuo.framework.domain.request.order.OrderQueryCountRequest;
import com.ibangnuo.framework.domain.request.order.OrderQueryGroupRequest;
import com.ibangnuo.framework.domain.request.order.OrderQueryRequest;
import com.ibangnuo.framework.model.response.ObjectResult;
import com.ibangnuo.framework.model.response.QueryResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

/**
 * @Author: wwy
 * @Date: 2019-12-31 13:53
 */
@Api(value = "订单管理", description = "订单管理")
public interface OrderControllerApi {

    @ApiOperation("订单查询")
    QueryResponseResult findList(OrderQueryRequest orderQueryRequest);

    @ApiOperation("按钮订单查询")
    QueryResponseResult findListSelect(OrderQueryRequest orderQueryRequest);


    @ApiOperation("汇总查询")
    ObjectResult queryGroup(OrderQueryGroupRequest orderQueryGroupRequest);

    @ApiOperation("后台汇总查询")
    QueryResponseResult queryCount();

    @ApiOperation("代理商门店汇总查询")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "page", value = "当前页码", required = true, paramType = "path", dataType = "int"),
            @ApiImplicitParam(name = "limit", value = "每页的条数", required = true, paramType = "path", dataType = "int")
    })
    QueryResponseResult shopCount(int page, int limit);


    @ApiOperation("根据id查询")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "订单id", required = true, paramType = "path", dataType = "String")
    })
    ObjectResult findById(String id);


    @ApiOperation("根据id查询账单详情")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "订单id", required = true, paramType = "path", dataType = "String")
    })
    QueryResponseResult findByOrderId(String id);

}
